<?php
ini_alter("max_execution_time","3600");
ini_alter("default_socket_timeout","3600"); 

include_once(APPLICATION_ROOT."/web_config.php");
include_once(APPLICATION_ROOT."/config.php");
require_once(APPLICATION_ROOT."/oracleaccess/classes/DbConnect.php" );
require_once(APPLICATION_ROOT."/logs/LogApp.class" );

$connessione = new DbConnect();//connessione viste locale

$data_abbinamento=date('Ymd');

$select_recs="SELECT CIG,PROG_CUI,ID_SIMOG,SCHEDA,DATA_ID,DENOM_STAZIONE_APPALTANTE,CF_RUP,ID_SCHEDA_LOCALE,CF_UTENTE,ID FROM AVCP WHERE SCHEDA='VARIANTI' AND ID_SCHEDA_LOCALE IS NULL order by cig,prog_cui,ID_SIMOG asc";
$query_recs = $connessione -> doquery_oracle($select_recs, 'select');

for($r=1; $r<=(count($query_recs)); $r++){

 $cig_xls=$prog_cui_xls=$id_simog_xls=$scheda_db=$data_id_xls=$resultUDC = "";
 $cig_xls=     $query_recs[$r][1];
 $prog_cui_xls=$query_recs[$r][2];
 $id_simog_xls=$query_recs[$r][3];
 $scheda_db=   $query_recs[$r][4];
 $data_id_xls= $query_recs[$r][5]; 
 $id_tabella_avcp= $query_recs[$r][10]; 
 
 $data_id_xls_db=$giorno=$mese=$anno="";
 $giorno=substr($data_id_xls, 0,2);
 $mese=substr($data_id_xls, 3,2);
 $anno=substr($data_id_xls, 8,2);
    
 $mese_cifre=transfmese($mese);
 $data_id_xls_db=$giorno."-".STRTOUPPER($mese_cifre)."-".$anno;
   
  //SELECT ID SCHEDA LOCALE
  $sel="SELECT ID,ID_SIMOG FROM VARIANTI WHERE cig='".$cig_xls."' AND NUM_PROGR='".$prog_cui_xls."' AND DATA_APPROVAZIONE_VARIANTE like '".$data_id_xls_db."%' AND ID_SIMOG IS NULL";
  $rs = $connessione->doquery_oracle($sel, 'select');
  
  if($rs[1][1]!=""){ 
  
   //VERIFICARE IL NUMERO DI RECORD RITORNATI ... SE PIU DI 1 GESTIRE ASSOCIAZIONE ID SIMOG CONSEQUENZIALE
   if(count($rs)>1){
	$check_multi="n";
    foreach($rs as $k => $v){
     $id_scheda_locale=$v[1];
     $tmp_id_simog=$v[2];
     if($tmp_id_simog=="" and $check_multi=="n"){
	  $check_multi="y";
      //ASSOCIAMO IL PRIMO RECORD CORRISPONDENTE SENZA ID_SIMOG ASSOCIATO
      $updateAGG="update VARIANTI set ID_SIMOG='".$id_simog_xls."', SCHEDA_CHIUSA='I', ARCHIVIATA='S' WHERE id='".$id_scheda_locale."' ";
      $connessione->doquery_oracle($updateAGG, 'update');  

      $update_AVCP="update AVCP set ID_SCHEDA_LOCALE='".$id_scheda_locale."',DATA_ABBINAMENTO='".$data_abbinamento."' WHERE ID='".$id_tabella_avcp."'";
      $connessione->doquery_oracle($update_AVCP, 'update');        
     }

    }
   }else{
    //SINGOLO RECORD -OK
    $id_scheda_locale=$rs[1][1];
   
    $updateAGG="update VARIANTI set ID_SIMOG='".$id_simog_xls."', SCHEDA_CHIUSA='I', ARCHIVIATA='S' WHERE id='".$id_scheda_locale."' ";
    $connessione->doquery_oracle($updateAGG, 'update');  

    $update_AVCP="update AVCP set ID_SCHEDA_LOCALE='".$id_scheda_locale."',DATA_ABBINAMENTO='".$data_abbinamento."' WHERE ID='".$id_tabella_avcp."'";
    $connessione->doquery_oracle($update_AVCP, 'update');     
   }
  }else{
   $message["SCHEDA"]="VARIANTI";
   $message["CIG"]=$cig_xls;
   $message["NUM_PROGR"]="";
   $message["NUM_PROGR_SCHEDA"]="";
   $message["OPERAZIONE"]=$sel; 
   $message["MSG"]="Update fallita: non esiste il CIG.";
   LogApp::getInstance()->LogWrite($message);   
  }  
 
}

echo("<br>END VARIANTI");

?>